An Empirical Evaluation of Impact of Refactoring On Internal and External Measures of Code Quality

نویسندگان

  • S. H. Kannangara
  • W. M. J. I. Wijayanayake
چکیده

Refactoring is the process of improving the design of existing code by changing its internal structure without affecting its external behaviour, with the main aims of improving the quality of software product. Therefore, there is a belief that refactoring improves quality factors such as understandability, flexibility, and reusability. However, there is limited empirical evidence to support such assumptions. The objective of this study is to validate/invalidate the claims that refactoring improves software quality. The impact of selected refactoring techniques was assessed using both external and internal measures. Ten refactoring techniques were evaluated through experiments to assess external measures: Resource Utilization, Time Behaviour, Changeability and Analysability which are ISO external quality factors and five internal measures: Maintainability Index, Cyclomatic Complexity, Depth of Inheritance, Class Coupling and Lines of Code. The result of external measures did not show any improvements in code quality after the refactoring treatment. However, from internal measures, maintainability index indicated an improvement in code quality of refactored code than non-refactored code and other internal measures did not indicate any positive effect on refactored code.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Describing the impact of refactoring on internal program quality

The technique of refactoring – restructuring the source-code of an object-oriented program without changing its external behavior – has been embraced by many object-oriented software developers as a way to accommodate changing requirements. The overall goal of refactoring is to improve the maintainability of software. Unfortunately, it is unclear how specific quality factors are affected. There...

متن کامل

Empirical evaluation of syntactic and semantic defects introduced by refactoring support

Software maintenance is a major source of expense in software projects. A proper evolution process is a critical ingredient in the cost-efficient development of high-quality software. A special case of software evolution is refactoring that cannot change the external behaviour of the software system yet should improve the internal structure of the code. Hence, there is always a need to verify a...

متن کامل

An Empirical Assessment of Refactoring Impact on Software Quality Using a Hierarchical Quality Model

Software refactoring is a collection of reengineering activities that aims to improve software quality. Refactorings are commonly used in agile software processes to improve software quality after a significant software development or evolution. There is belief that refactoring improves quality factors such as understandability, flexibility, and reusability. However, there is limited empirical ...

متن کامل

Data envelopment analysis in service quality evaluation: an empirical study

Service quality is often conceptualized as the comparison between service expectations and the actual performance perceptions. It enhances customer satisfaction, decreases customer defection, and promotes customer loyalty. Substantial literature has examined the concept of service quality, its dimensions, and measurement methods. We introduce the perceived service quality index (PSQI) as a sing...

متن کامل

Web Application Evaluation and Refactoring: A Quality-Oriented Improvement Approach

Web applications must be usable and accessible; at the same time, their continuous evolution makes it difficult to keep a high degree of external quality. Refactoring is a practice of agile methods well-suited for the maintenance and evolution of Web applications. However, this practice is mainly intended and used to improve maintainability and extensibility of the design and code rather than e...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1502.03526  شماره 

صفحات  -

تاریخ انتشار 2015